import log
import usys


class Logger:
    def __init__(self, name="AppLog", uart_port=UART.UART2, baudrate=115200):
        """ 初始化 Logger 并设置默认日志级别 """
        self.logger = log.getLogger(name)
        log.basicConfig(level=log.INFO)

        # 初始化 UART 串口
        self.uart = UART(uart_port, baudrate, 8, 0, 1, 0)

        # 默认输出到 UART
        self.set_output_uart()

    def set_output_uart(self):
        """ 切换日志输出到 UART 串口 """
        log.set_output(self.uart)
        self.logger.info("日志输出到 UART")

    def set_output_console(self):
        """ 切换日志输出到标准输出（交互口） """
        log.set_output(usys.stdout)
        self.logger.info("日志输出到交互口 (Console)")

    def info(self, message):
        """ 记录 INFO 级别日志 """
        self.logger.info(message)

    def error(self, message):
        """ 记录 ERROR 级别日志 """
        self.logger.error(message)

    def debug(self, message):
        """ 记录 DEBUG 级别日志 """
        self.logger.debug(message)